On Decision Procedures for Algebraic Data Types with Abstractions
نویسندگان
چکیده
We describe a parameterized decision procedure that extends the decision procedure for functional recursive algebraic data types (trees) with the ability to specify and reason about abstractions of data structures. The abstract values are specified using recursive abstraction functions that map trees into other data types that have decidable theories. Our result yields a decidable logic which can be used to prove that implementations of functional data structures satisfy recursively specified invariants and conform to interfaces given in terms of sets, multisets, or lists, or to increase the automation in proof assistants.
منابع مشابه
Abstractions in Decision Procedures for Algebraic Data Types Abstractions in Decision Procedures for Algebraic Data Types Abstractions in Decision Procedures for Algebraic Data Types
ions in Decision Procedures for Algebraic Data Types
متن کاملOn Parameterized Abstractions in Unrolling-Based Decision Procedure for Algebraic Data Types
Reasoning about algebraic data types is an important problem for a variety of proof tasks. Recently, a variety of decision procedures have been proposed for algebraic data types involving creating suitable abstractions of values in the types. A class of abstractions created from catamorphism functions has been shown to be theoretically applicable to a wide variety of reasoning tasks as well as ...
متن کاملParameterized Abstractions for Reasoning about Algebraic Data Types
Reasoning about algebraic data types is an impor-tant problem for a variety of proof tasks. Recently, decisionprocedures have been proposed for algebraic data types thatcreate suitable abstractions of values in the types. A class ofabstractions created from catamorphism functions has been shownto be theoretically applicable to a wide variety of reasoning tasksas well as ...
متن کاملAn Improved Unrolling-Based Decision Procedure for Algebraic Data Types
Reasoning about algebraic data types and functions that operate over these data types is an important problem for a large variety of applications. In this paper, we present a decision procedure for reasoning about data types using abstractions that are provided by catamorphisms: fold functions that map instances of algebraic data types into values in a decidable domain. We show that the procedu...
متن کاملDeciding and Interpolating Algebraic Data Types by Reduction (Technical Report)
Recursive algebraic data types (term algebras, ADTs) are one of the most well-studied theories in logic, and find application in contexts including functional programming, modelling languages, proof assistants, and verification. At this point, several state-of-the-art theorem provers and SMT solvers include tailor-made decision procedures for ADTs, and version 2.6 of the SMT-LIB standard includ...
متن کامل